package com.bestcem.xm.user.dao;

import com.bestcem.xm.user.entity.pojo.UserGroupImportRecordDO;

import java.util.List;

/**
 * 层级组织导入 dao
 *
 * @author wangyunyun <yunyun.wang@idiaoyan.com>
 * @version v1.0
 * @date 2022/4/19 17:50
 */
public interface UserGroupImportRecordDao {

    /**
     * 通过条件查询组织导入记录
     *
     * @param userGroupImportRecordDO 组织导入记录do
     * @return ServiceResult<List<UserGroupImportRecordDTO>>
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/4/20 10:01
     */
    List<UserGroupImportRecordDO> selectBySelective(UserGroupImportRecordDO userGroupImportRecordDO);

    /**
     * 通过条件统计组织导入记录
     *
     * @param userGroupImportRecordDO 组织导入记录do
     * @return Long
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/4/20 10:29
     */
    Long countBySelective(UserGroupImportRecordDO userGroupImportRecordDO);

    /**
     * 新增组织导入记录d
     *
     * @param userGroupImportRecordDO 组织导入记录do
     * @return String
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/4/20 14:01
     */
    String insertBySelective(UserGroupImportRecordDO userGroupImportRecordDO);

    /**
     * 根据id和公司id更新组织导入记录
     *
     * @param userGroupImportRecordDO 组织导入记录do
     * @return Integer
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/4/20 10:02
     */
    Integer updateByIdAndOrgId(UserGroupImportRecordDO userGroupImportRecordDO);

    /**
     * 通过分页条件查询组织导入记录
     *
     * @param exportRecordDO 组织导入记录do
     * @param currentPage 当前页
     * @param pageSize 页条数
     * @return List<UserGroupImportRecordDO>
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/4/20 16:11
     */
    List<UserGroupImportRecordDO> selectByPage(UserGroupImportRecordDO exportRecordDO, Integer currentPage, Integer pageSize);
}
